The instant invention is directed to interactive graphics systems, such video games, and more particularly, to an enhanced video game feature which enables real-time replay or rewind during gameplay, as well as the ability to take-over game action while viewing a previously saved gameplay sequence or xe2x80x9cvideoxe2x80x9d. A further feature of the instant invention relates to improved real-time viewing angle, camera features and speed for video games.
Many different types of video games have been provided in the past for the purpose of providing entertainment and enjoyment for video game players. Many of these prior games provide a gameplay environment that enables the player to control a game character or other movable element in the game environment in a manner which enables the player to perform various stunts or moves during the game. Such games are designed to require that the player become skilled at the particular game in order to gain the ability to control the character in a manner which enables difficult stunts or movements to be successfully performed. For example, skateboard games have been provided in the past which enable a player to manipulate a game character (skateboarder) through a gameplay course, such as a simulated street, mall, skate park or other environment, which provides various environmental features, such as rails, ramps, drops, etc., on which the game character can perform various stunts or moves. Other exemplary games require the player to use skill to avoid various hazards while navigating through a game course and/or to out-maneuver or out-run other game characters being controlled automatically by the game program, such as racing games (e.g. autoracing, ski racing, showboard racing, motorcycle racing etc.)
The gameplay goal of many of these and similar games is to maximize the game score achieved during a game or run, by controlling the character in a manner which generates a high score. For example, in skateboard games, the score can be increased by performing particularly difficult stunts (tricks) or series of tricks at various points in the game and by avoiding falling and/or crashing during the game. In other words, such games often provide a number of opportunities during the game for the player to cause the character to attempt a trick, either simply for enjoyment or to increase the game score. For example, the game may provide ten locations or points in the game where a trick or other type of move (depending on the type of game) can be attempted. The game score will increase for each successful trick. In other words, if the player successfully performs tricks at all ten locations in the game, then the score will typically be higher than if the player successfully performs tricks at only eight of the locations but falls or crashes while attempting tricks at the other two locations.
In such games, once a player falls or crashes, he must live with that fact and either continue the game from the crash point or restart the entire game from the beginning (i.e. begin a new game). Thus, once a fall, crash or other undesirable event occurs during a game, that adverse event becomes a permanent part of the game result. As a result, the player only has two options: continue the game from the crash point, knowing that the player""s score will never be as good as it could have been without the crash, or quit the present game and start a new game (which requires starting again from the beginning of the game).
Being limited to only these two options upon crashing (or other adverse event), can result in frustration for the player upon the occurrence of an adverse event, thereby reducing the players enjoyment of the game. For example, if a player has performed well for the first fifty seconds of a game, but then suddenly crashes, the player may lose interest in continuing the present game knowing that the score will be adversely effected by the crash. The player may also not want to restart the game from the beginning due to the length of time it will take to make it back to the location of the crash in the previous game. In other words, it can be frustrating for the player to have to start a new game, thereby having to re-perform the same parts of the game that were previously performed successfully in order to reach a corresponding place in the previous game where the adverse event (e.g. crash) occurred. Moreover, even if the player decides to continue the game where the crash occurred, it can be difficult and/or burdensome to reposition the game character in the game environment in such a way that enables the unsuccessful trick to be attempted again. In other words, in some games it is desirable (or even necessary) to perform a particular trick successfully at a particular location in the game prior to moving on to a new aspect of the game. For example, in such a skate game, when a player crashes during a jump, the player must cause the character to push back up a ramp or other structure in order to reposition the character at a place which enables the jump to be re-attempted. This repositioning of the player can waist significant game time and is typically not enjoyable for the player, thereby reducing the overall enjoyment of the game.
Some prior games have enabled a xe2x80x9cvideoxe2x80x9d of the game to be saved after completion of the game in order to allow the particular game to be watched again. For example, the autoracing game entitled xe2x80x9cDriverxe2x80x9d offered by Sony Corporation for the Playstation game console, allows a xe2x80x9cvideoxe2x80x9d to be made of the race, so that the resulting video can be watched by the player (or others) immediately after the game or at a later time. In this way, the player can enjoy watching the results of his game or showing the results to others who may not have been present or watching during the actual game. This feature has one benefit of allowing successful game runs to be saved for future viewing and enjoyment. Such prior art games, however, do not enable the player to edit, fix or overwrite adverse events that may have occurred during the game that has been recorded for future playback.
Prior art games have also had various camera or viewing angle features designed to enhance the enjoyment of the game. For example, in Sony Corporation""s Driver game, the game allows the video of a previously played game to be viewed from different camera angles at certain points thereof. The Driver game has a xe2x80x9cdirectorxe2x80x9d feature that can be selected prior to replaying a saved game, wherein this feature enables the game action to be viewed from various predetermined different directions at different predetermined locations for the purpose of making the playback more enjoyable or exciting to watch. For instance, the game may place a panning, dolly or other type of known virtual camera on a particular straightaway on the race course to show the race action from a perspective other than the driver""s viewpoint along that straightaway. While the player can select the xe2x80x9cdirectorxe2x80x9d option for use in the showing the saved game, the game does not allow that player to place or choose cameras during the actual game at desired locations for causing selective real-time changes in the viewing perspectives of the actual game. In other words, prior games, like Sony""s Driver game, do not enable real-time placement of cameras or real-time selection of speed for a playback sequence.
In view of the above, there is a need for improved videogames or the like which overcome the deficiencies of such prior art games.
The instant invention provide improved features for video games of the type discussed above where adverse or undesirable events may occur during gameplay. More particularly, the instant invention provides a real-time replay feature which enables portions of the game to actually be xe2x80x9crewoundxe2x80x9d or xe2x80x9creplayedxe2x80x9d in real-time at the option of the player. In other words, in accordance with the invention, the player can, at any point in time during the game, cause the game to be backed-up or rewound in order to, for example, re-attempt a trick, stunt, move or the like that was not successfully performed on the previous attempt during the same game. Thus, the invention provides a method and a system that enables the player to cause the game character (and the game itself) to travel back in game time to a desired point from which the player desires to replay the game. For example, if the player has performed well up to a certain point where he crashes, falls or experiences some other adverse event, the invention enables the player to selectively back-up in the game to a time and place prior to the adverse event and pick-up the action from that time and place for the purpose of attempting to replay that part of the game with a different or better result. In this manner, the player can retry any part in the game in order to, for example, improve his performance during that part of the game, thereby also improving his overall performance and resulting score for that particular game.
In accordance with another aspect of the instant invention, when the player selects the replay option during an actual game, resulting in the game being rewound to a desired point in the game, the game is operable to replay the game using saved controller information from the previous time that that portion of the game was played during the same game, thereby enabling the player to playback and watch any desired portions of the game. In an exemplary embodiment, the game is rewound three seconds each time the replay option is selected, and then the game replays each of the three second portions of the game automatically using the stored controller information. In other words, the player can rewind a portion of the game and simply watch the previous results of that portion of the game or the player can operate the game controller during the playback sequence so as to change the results of that portion of the game. Thus, during playback, the game is selectively controlled by the previously stored controller inputs (thereby not changing the results of the actual game) or based on actual (new) real-time controller inputs from the player during the replay period (thereby changing the result of the actual game).
In accordance with another aspect of the game, the game is recorded as it is being played so that all of the real-time action is saved based on the last time that each portion of the game was played during the game. In other words, if a portion of the game is replayed using the replay option numerous times until the player is satisfied with the result, the video of the game will only include the last replay of that portion. In this manner, the invention enables a seamless video to be generated which shows the entire game from start to finish as if the replay had not been invoked and the player had performed as desired the first time through the game. This feature enables the creation of a xe2x80x9cperfect runxe2x80x9d including only the desired or successful attempts at each portion of the game course. In other words, by allowing the player to go back in the game and correct any mistakes (such as crashes, falls, missed tricks, or the like) that were made during the game, the player can create a seamless video of the game that looks as if the player made a perfect run with no mistakes.
In addition, by enabling the player to replay any desired portion of the game simply by selecting the replay option, the player can practice any desired trick over and over until the player performs the trick as desired without wasting actual game time and without the need to manually reposition the game character at a location where the trick can be retried. Once the trick is performed properly, the player simply continues through the remainder of the game and the properly performed trick becomes part of the savable and replayable resulting game, as if it had been performed properly the first time.
In accordance with another aspect of the invention, the replay of a previously played portion of a game can be frozen at any point in the replay and changes in the virtual camera""s position, behavior (follow, static, dolly, etc.) camera characteristics (zoom, distance, etc.) and/or actual playback speed (fast/slow motion) can be selectively made by the player. These changes are then recorded, in accordance with the invention, together with information that determines on which frame of the playback the change(s) take effect. In this manner, the player can stop and rewind the actual game at any desired point in the game, stop the playback of the rewound portion of the game, and then modify the camera features to be used for that portion of the playback of the game. This enables the player to, for example, selectively show a particularly entertaining or successful trick from a desired perspective, such as a panning, side view, and zooming camera, and to have the selected change in the camera saved as part of the game, so that the next playback of that particular sequence will include the desired changes. Similarly, the speed (i.e. fast/slow motion) of any part of the playback can be changed and saved to further enhance the way in which the playback sequence is shown.
In accordance with another aspect of the invention, once a game is completed and saved, the playback of the saved game can be taken over at any point, so that the player can begin real-time play from any desired point in the playback. This enables saved games to be further enhanced or modified through different and/or improved real-time play of the game at any point in the playback of the saved game. The real-time play introduced into the playback sequence then becomes a part of the saved game, thereby resulting in a new playback sequence.
These and other features of the instant invention are achieved using a playback system that will be described in detail below. In a preferred embodiment of the invention, the playback system uses a combination of xe2x80x9cinline keyframe recordingxe2x80x9d, xe2x80x9ccontroller stream recordingxe2x80x9d, and xe2x80x9crandom keyframe recording.xe2x80x9d The inline keyframe is a snapshot of the current state of the game universe. In other words, the snap shot or keyframe includes all information on the present state of the game at a particular time during the game. A keyframe is recorded at predetermined times during gameplay. The particular times or frequency at which a keyframe is recorded will generally depend on the amount of usable memory available on the game platform. For example, a keyframe may be recorded every second if eight megabytes of RAM are available or every five seconds if only four megabytes are available. However, any other suitable constant or variable length time periods may be used for recording keyframes. The state of the game controller being operated by the player (i.e. buttons pressed, joystick position, etc.) is recorded every time it is read, such as twenty times per second. A wrapper buffer is used to store each keyframe generated during the game. The size of the wrapper buffer may vary based on the amount of memory available on the particular game machine and/or type of game in which the instant invention is implemented. When the end of the buffer is reached, recording starts over from the beginning of the buffer, thereby overwriting the oldest keyframe (like a tape loop).
To initiate the playback or replay feature of the present invention, the wrapper buffer is xe2x80x9crewoundxe2x80x9d a predetermined amount of time, such as three seconds, and the nearest keyframe is located. The playback sequence then begins from that keyframe. The xe2x80x9cgame universexe2x80x9d is then restored from the keyframe, and, as the playback (simulation) progresses, the controller information is read from the buffer memory used previously to store the controller commands. During playback, commands from the real controller are processed independently so as to allow the player to take over the playback at any point during the playback and begin real-time play from that point in the playback.
Preferably, the recording is based on the internal logic rate, and not based on the speed of either the internal processor or the video refresh rate, both of which can vary from console to console. This enables playback at any speed, not necessarily a multiple of the console speed, without loss of synchronization. Thus, the instant invention enables the player to exit playback mode directly into recording mode without disturbing the previous playback sequence, thereby facilitating the creation of long, seamless sequences.
In addition, a system of xe2x80x9crandom keyframesxe2x80x9d is preferably utilized. As explained above, the playback of a sequence can be frozen at any time so that changes to the camera and/or the playback speed can be selectively made. These changes are recorded in an array of xe2x80x9crandom keyframe buffersxe2x80x9d, along with information that determines on which frame of playback the changes take effect. This system allows the standard playback keyframes to be much smaller, thereby resulting in the ability to recorded longer sequences.
In accordance with the invention, when a playback sequence is saved to any of the rather limited non-volatile memory systems typically available on game consoles, only the first inline keyframe is saved. Further, when a saved playback sequence is loaded from non-volatile memory for viewing, a flag is set which causes the game software to begin recording inline keyframes (as described above) from the playback, thereby restoring the ability for the player to replay or rewind into any part of the sequence to view again, move cameras, select speed or even take over the action to begin real-time replay of the game from a desired point in the saved playback sequence.